package com.yuexun.dhdoctor.module.personalPlan.api;


import com.yuexun.dhdoctor.base.BaseEntity;
import com.yuexun.dhdoctor.module.personalPlan.bean.CreatePlanBean;
import com.yuexun.dhdoctor.module.personalPlan.bean.LockTimeBean;
import com.yuexun.dhdoctor.module.personalPlan.bean.MyShareBean;
import com.yuexun.dhdoctor.module.personalPlan.bean.OtherPlanBean;
import com.yuexun.dhdoctor.module.personalPlan.bean.ScheduleData;
import com.yuexun.dhdoctor.module.personalPlan.bean.ShareBean;
import com.yuexun.dhdoctor.module.personalPlan.bean.UpdatePlanBean;

import java.util.List;
import java.util.Map;

import retrofit.http.FieldMap;
import retrofit.http.FormUrlEncoded;
import retrofit.http.POST;
import rx.Observable;

/**
 * Created by work-jx on 2016/9/6.
 */
public interface PlanApi {
    //我的计划获取
    @FormUrlEncoded
    @POST("inquirePersonalScheduleNewListOfMine.json?")
    Observable<String> getMyTask(@FieldMap Map<String, String> praise);

    //我的计划更新
    @FormUrlEncoded
    @POST("updatePersonalScheduleNew.json?")
    Observable<UpdatePlanBean> updateMyTask(@FieldMap Map<String, String> praise);

    //我的计划创建
    @FormUrlEncoded
    @POST("createPersonalScheduleNew.json?")
    Observable<CreatePlanBean> createMyTask(@FieldMap Map<String, String> praise);

    //他人计划
    @FormUrlEncoded
    @POST("inquireSharedPersonInfoOfMine.json?")
    Observable<OtherPlanBean> getOtherTaskList(@FieldMap Map<String, String> praise);

    //他人计划列表
    @FormUrlEncoded
    @POST("inquirePersonalScheduleNewListOfShare.json?")
    Observable<String> getOtherTask(@FieldMap Map<String, String> praise);

    //我分享的人员列表
    @FormUrlEncoded
    @POST("inquireSharedPersonInfo.json?")
    Observable<MyShareBean> getMyShareList(@FieldMap Map<String, String> praise);

    //分享变更
    @FormUrlEncoded
    @POST("sharePersonalSchedule.json?")
    Observable<ShareBean> share(@FieldMap Map<String, String> praise);

    //编辑锁
    @FormUrlEncoded
    @POST("inquirelocktime.json?")
    Observable<LockTimeBean> lockTime(@FieldMap Map<String, String> praise);

    //新建日程
    @FormUrlEncoded
    @POST("createSchedule.json?")
    Observable<BaseEntity> createSchedule(@FieldMap Map<String, String> praise);

    //修改日程
    @FormUrlEncoded
    @POST("updateSchedule.json?")
    Observable<BaseEntity> updateSchedule(@FieldMap Map<String, String> praise);

    //删除日程
    @FormUrlEncoded
    @POST("disableSchedule.json?")
    Observable<BaseEntity> deleteSchedule(@FieldMap Map<String, String> praise);

    //查询日程列表
    @FormUrlEncoded
    @POST("inquireScheduleList.json?")
    Observable<BaseEntity<Map<String , List<ScheduleData>>>> getScheduleList(@FieldMap Map<String, String> praise);
}
